Estudio del injerto intermedio sobre el crecimiento y productividad del mango (Mangífera indica L.) var.Kent.en el Valle de San Lorenzo

Author

Sebastian Casas; Flavio Lozano-Isla

1 Setup

Instalar la version en desarrollo

if (!require("remotes"))
  install.packages("remotes")
remotes::install_github("flavjack/inti")
source('https://inkaverse.com/setup.r')
library(emmeans)
library(multcomp)
library(lmerTest)
library(FSA)

# library(rstatix)
# library(corrplot)
# library(dlookr)

session_info()
─ Session info ───────────────────────────────────────────────────────────────
 setting  value
 version  R version 4.4.1 (2024-06-14 ucrt)
 os       Windows 10 x64 (build 19045)
 system   x86_64, mingw32
 ui       RTerm
 language (EN)
 collate  Spanish_Peru.utf8
 ctype    Spanish_Peru.utf8
 tz       America/Lima
 date     2024-07-31
 pandoc   3.1.11 @ C:/Program Files/RStudio/resources/app/bin/quarto/bin/tools/ (via rmarkdown)

─ Packages ───────────────────────────────────────────────────────────────────
 package       * version    date (UTC) lib source
 agricolae       1.3-7      2023-10-22 [1] CRAN (R 4.4.0)
 AlgDesign       1.2.1      2022-05-25 [1] CRAN (R 4.4.0)
 askpass         1.2.0      2023-09-03 [1] CRAN (R 4.4.0)
 boot            1.3-30     2024-02-26 [2] CRAN (R 4.4.1)
 cachem          1.1.0      2024-05-16 [1] CRAN (R 4.4.0)
 cellranger      1.1.0      2016-07-27 [1] CRAN (R 4.4.0)
 cli             3.6.2      2023-12-11 [1] CRAN (R 4.4.0)
 cluster         2.1.6      2023-12-01 [2] CRAN (R 4.4.1)
 coda            0.19-4.1   2024-01-31 [1] CRAN (R 4.4.0)
 codetools       0.2-20     2024-03-31 [2] CRAN (R 4.4.1)
 colorspace      2.1-0      2023-01-23 [1] CRAN (R 4.4.0)
 cowplot       * 1.1.3      2024-01-22 [1] CRAN (R 4.4.0)
 curl            5.2.1      2024-03-01 [1] CRAN (R 4.4.0)
 devtools      * 2.4.5      2022-10-11 [1] CRAN (R 4.4.0)
 digest          0.6.35     2024-03-11 [1] CRAN (R 4.4.0)
 dplyr         * 1.1.4      2023-11-17 [1] CRAN (R 4.4.0)
 DT              0.33       2024-04-04 [1] CRAN (R 4.4.0)
 ellipsis        0.3.2      2021-04-29 [1] CRAN (R 4.4.0)
 emmeans       * 1.10.1     2024-04-06 [1] CRAN (R 4.4.0)
 estimability    1.5.1      2024-05-12 [1] CRAN (R 4.4.0)
 evaluate        0.23       2023-11-01 [1] CRAN (R 4.4.0)
 FactoMineR    * 2.11       2024-04-20 [1] CRAN (R 4.4.0)
 fansi           1.0.6      2023-12-08 [1] CRAN (R 4.4.0)
 fastmap         1.2.0      2024-05-15 [1] CRAN (R 4.4.0)
 flashClust      1.01-2     2012-08-21 [1] CRAN (R 4.4.0)
 forcats       * 1.0.0      2023-01-29 [1] CRAN (R 4.4.0)
 fs              1.6.4      2024-04-25 [1] CRAN (R 4.4.0)
 FSA           * 0.9.5      2023-08-26 [1] CRAN (R 4.4.0)
 gargle          1.5.2      2023-07-20 [1] CRAN (R 4.4.0)
 generics        0.1.3      2022-07-05 [1] CRAN (R 4.4.0)
 ggplot2       * 3.5.1      2024-04-23 [1] CRAN (R 4.4.0)
 ggrepel         0.9.5      2024-01-10 [1] CRAN (R 4.4.0)
 glue            1.7.0      2024-01-09 [1] CRAN (R 4.4.0)
 googledrive   * 2.1.1      2023-06-11 [1] CRAN (R 4.4.0)
 googlesheets4 * 1.1.1      2023-06-11 [1] CRAN (R 4.4.0)
 gsheet        * 0.4.5      2020-04-07 [1] CRAN (R 4.4.0)
 gtable          0.3.5      2024-04-22 [1] CRAN (R 4.4.0)
 hms             1.1.3      2023-03-21 [1] CRAN (R 4.4.0)
 htmltools       0.5.8.1    2024-04-04 [1] CRAN (R 4.4.0)
 htmlwidgets     1.6.4      2023-12-06 [1] CRAN (R 4.4.0)
 httpuv          1.6.15     2024-03-26 [1] CRAN (R 4.4.0)
 httr            1.4.7      2023-08-15 [1] CRAN (R 4.4.0)
 huito         * 0.2.4      2023-10-25 [1] CRAN (R 4.4.0)
 inti          * 0.6.5      2024-07-31 [1] Github (flavjack/inti@38be898)
 jsonlite        1.8.8      2023-12-04 [1] CRAN (R 4.4.0)
 knitr         * 1.46       2024-04-06 [1] CRAN (R 4.4.0)
 later           1.3.2      2023-12-06 [1] CRAN (R 4.4.0)
 lattice         0.22-6     2024-03-20 [2] CRAN (R 4.4.1)
 leaps           3.1        2020-01-16 [1] CRAN (R 4.4.0)
 lifecycle       1.0.4      2023-11-07 [1] CRAN (R 4.4.0)
 lme4          * 1.1-35.3   2024-04-16 [1] CRAN (R 4.4.0)
 lmerTest      * 3.1-3      2020-10-23 [1] CRAN (R 4.4.0)
 lubridate     * 1.9.3      2023-09-27 [1] CRAN (R 4.4.0)
 magick        * 2.8.3      2024-02-18 [1] CRAN (R 4.4.0)
 magrittr        2.0.3      2022-03-30 [1] CRAN (R 4.4.0)
 MASS          * 7.3-60.2   2024-04-26 [2] CRAN (R 4.4.1)
 Matrix        * 1.7-0      2024-04-26 [2] CRAN (R 4.4.1)
 memoise         2.0.1      2021-11-26 [1] CRAN (R 4.4.0)
 mime            0.12       2021-09-28 [1] CRAN (R 4.4.0)
 miniUI          0.1.1.1    2018-05-18 [1] CRAN (R 4.4.0)
 minqa           1.2.6      2023-09-11 [1] CRAN (R 4.4.0)
 mnormt          2.1.1      2022-09-26 [1] CRAN (R 4.4.0)
 multcomp      * 1.4-25     2023-06-20 [1] CRAN (R 4.4.0)
 multcompView    0.1-10     2024-03-08 [1] CRAN (R 4.4.0)
 munsell         0.5.1      2024-04-01 [1] CRAN (R 4.4.0)
 mvtnorm       * 1.2-4      2023-11-27 [1] CRAN (R 4.4.0)
 nlme            3.1-164    2023-11-27 [2] CRAN (R 4.4.1)
 nloptr          2.0.3      2022-05-26 [1] CRAN (R 4.4.0)
 numDeriv        2016.8-1.1 2019-06-06 [1] CRAN (R 4.4.0)
 openssl         2.2.0      2024-05-16 [1] CRAN (R 4.4.0)
 pillar          1.9.0      2023-03-22 [1] CRAN (R 4.4.0)
 pkgbuild        1.4.4      2024-03-17 [1] CRAN (R 4.4.0)
 pkgconfig       2.0.3      2019-09-22 [1] CRAN (R 4.4.0)
 pkgload         1.3.4      2024-01-16 [1] CRAN (R 4.4.0)
 profvis         0.3.8      2023-05-02 [1] CRAN (R 4.4.0)
 promises        1.3.0      2024-04-05 [1] CRAN (R 4.4.0)
 psych         * 2.4.3      2024-03-18 [1] CRAN (R 4.4.0)
 purrr         * 1.0.2      2023-08-10 [1] CRAN (R 4.4.0)
 R6              2.5.1      2021-08-19 [1] CRAN (R 4.4.0)
 rappdirs        0.3.3      2021-01-31 [1] CRAN (R 4.4.0)
 Rcpp            1.0.12     2024-01-09 [1] CRAN (R 4.4.0)
 readr         * 2.1.5      2024-01-10 [1] CRAN (R 4.4.0)
 remotes         2.5.0      2024-03-17 [1] CRAN (R 4.4.0)
 rlang           1.1.3      2024-01-10 [1] CRAN (R 4.4.0)
 rmarkdown       2.27       2024-05-17 [1] CRAN (R 4.4.0)
 rstudioapi      0.16.0     2024-03-24 [1] CRAN (R 4.4.0)
 sandwich        3.1-0      2023-12-11 [1] CRAN (R 4.4.0)
 scales          1.3.0      2023-11-28 [1] CRAN (R 4.4.0)
 scatterplot3d   0.3-44     2023-05-05 [1] CRAN (R 4.4.0)
 sessioninfo     1.2.2      2021-12-06 [1] CRAN (R 4.4.0)
 shiny         * 1.8.1.1    2024-04-02 [1] CRAN (R 4.4.0)
 showtext        0.9-7      2024-03-02 [1] CRAN (R 4.4.0)
 showtextdb      3.0        2020-06-04 [1] CRAN (R 4.4.0)
 stringi         1.8.4      2024-05-06 [1] CRAN (R 4.4.0)
 stringr       * 1.5.1      2023-11-14 [1] CRAN (R 4.4.0)
 survival      * 3.6-4      2024-04-24 [2] CRAN (R 4.4.1)
 sysfonts        0.8.9      2024-03-02 [1] CRAN (R 4.4.0)
 TH.data       * 1.1-2      2023-04-17 [1] CRAN (R 4.4.0)
 tibble        * 3.2.1      2023-03-20 [1] CRAN (R 4.4.0)
 tidyr         * 1.3.1      2024-01-24 [1] CRAN (R 4.4.0)
 tidyselect      1.2.1      2024-03-11 [1] CRAN (R 4.4.0)
 tidyverse     * 2.0.0      2023-02-22 [1] CRAN (R 4.4.0)
 timechange      0.3.0      2024-01-18 [1] CRAN (R 4.4.0)
 tzdb            0.4.0      2023-05-12 [1] CRAN (R 4.4.0)
 urlchecker      1.0.1      2021-11-30 [1] CRAN (R 4.4.0)
 usethis       * 2.2.3      2024-02-19 [1] CRAN (R 4.4.0)
 utf8            1.2.4      2023-10-22 [1] CRAN (R 4.4.0)
 vctrs           0.6.5      2023-12-01 [1] CRAN (R 4.4.0)
 withr           3.0.0      2024-01-16 [1] CRAN (R 4.4.0)
 xfun            0.44       2024-05-15 [1] CRAN (R 4.4.0)
 xtable          1.8-4      2019-04-21 [1] CRAN (R 4.4.0)
 yaml            2.3.8      2023-12-11 [1] CRAN (R 4.4.0)
 zoo             1.8-12     2023-04-13 [1] CRAN (R 4.4.0)

 [1] C:/Users/SEBASTIAN/AppData/Local/R/win-library/4.4
 [2] C:/Program Files/R/R-4.4.1/library

──────────────────────────────────────────────────────────────────────────────

2 Import data

url <- "https://docs.google.com/spreadsheets/d/1E_cUmiRFoPLGAj7AQC6HZBD6hXtqzg2UHPvtWr2QR_U/edit#gid=2112492836"

gs <- url %>% 
  as_sheets_id()

ley <- gs %>% 
  range_read("leyenda") %>% 
  rename(tratamientos = TRATAM) %>% 
  rename_with(~ tolower(.))

rdt <- gs %>% 
  range_read("db") %>% 
  merge(., ley) %>% 
  dplyr::select(year = "año", n, tratamientos,n_trat:yema, everything()) %>% 
  rename(treat = tratamientos
         , n_treat = n_trat
         , block = bloque
         , n_plant = n_planta
         , height = alt_planta
         , n_fruits = n_frutos
         , flowering = per_floracion
         , sproud = per_brote
         , scion = yema
         , stock = patron
         , edge = puente
         ) %>% 
  dplyr::arrange(year, n, treat) %>% 
  mutate(across(year:n_plant, ~ as.factor(.))) 

str(rdt)
## 'data.frame':    648 obs. of  13 variables:
##  $ year     : Factor w/ 3 levels "2017","2018",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ n        : Factor w/ 216 levels "1","2","3","4",..: 1 2 3 4 5 6 7 8 9 10 ...
##  $ treat    : Factor w/ 8 levels "111","121","131",..: 4 4 4 4 4 4 4 4 4 7 ...
##  $ n_treat  : Factor w/ 8 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 2 ...
##  $ stock    : Factor w/ 2 levels "CHATO","CHULUCANAS": 2 2 2 2 2 2 2 2 2 1 ...
##  $ edge     : Factor w/ 4 levels "CHATO","CHULUCANAS",..: 2 2 2 2 2 2 2 2 2 4 ...
##  $ scion    : Factor w/ 1 level "KENT": 1 1 1 1 1 1 1 1 1 1 ...
##  $ block    : Factor w/ 3 levels "1","2","3": 1 1 1 1 1 1 1 1 1 1 ...
##  $ n_plant  : Factor w/ 9 levels "1","2","3","4",..: 1 2 3 4 5 6 7 8 9 1 ...
##  $ height   : num  NA NA NA NA NA NA NA NA NA NA ...
##  $ n_fruits : num  170 200 310 NA 235 185 180 132 80 231 ...
##  $ flowering: num  60 50 50 NA 80 60 40 90 90 60 ...
##  $ sproud   : num  NA NA NA NA NA NA NA NA NA NA ...
  
fru <-  gs %>% 
  range_read("db_frutos") %>% 
  merge(., ley, ) %>% 
  dplyr::select(year = "año", n, tratamientos,n_trat:yema, everything()) %>% 
  rename(treat = tratamientos
         , n_treat = n_trat
         , block = bloque
         , n_plant = n_planta
         , weigth = peso
         , long = largo
         , n_fruits = n_frutos
         , diameter_1 = diametro_1
         , diameter_2 = diametro_2
         , sample = muestra
         , scion = yema
         , stock = patron
         , edge = puente
         ) %>% 
  dplyr::arrange(year, n, treat) %>% 
  mutate(diameter_average = (diameter_1 + diameter_2)/2) %>% 
  mutate(across(year:sample, ~ as.factor(.)))

glimpse(fru)
## Rows: 240
## Columns: 16
## $ year             <fct> 2023, 2023, 2023, 2023, 2023, 2023, 2023, 2023, 2023,…
## $ n                <fct> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16…
## $ treat            <fct> 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 231…
## $ n_treat          <fct> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2,…
## $ stock            <fct> CHULUCANAS, CHULUCANAS, CHULUCANAS, CHULUCANAS, CHULU…
## $ edge             <fct> CHULUCANAS, CHULUCANAS, CHULUCANAS, CHULUCANAS, CHULU…
## $ scion            <fct> KENT, KENT, KENT, KENT, KENT, KENT, KENT, KENT, KENT,…
## $ block            <fct> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
## $ n_plant          <fct> 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2,…
## $ sample           <fct> 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3,…
## $ n_fruits         <dbl> 26, 26, 26, 26, 26, 35, 35, 35, 35, 35, 118, 118, 118…
## $ weigth           <dbl> 270, 520, 385, 230, 285, 600, 457, 520, 665, 305, 422…
## $ long             <dbl> 86, 111, 103, 86, 88, 116, 101, 115, 126, 91, 100, 10…
## $ diameter_1       <dbl> 78, 90, 86, 70, 78, 96, 88, 88, 103, 78, 91, 84, 84, …
## $ diameter_2       <dbl> 74, 83, 75, 69, 71, 87, 88, 81, 95, 80, 83, 76, 72, 8…
## $ diameter_average <dbl> 76.0, 86.5, 80.5, 69.5, 74.5, 91.5, 88.0, 84.5, 99.0,…

3 Data summary

sm <- rdt %>% 
  group_by(year, treat) %>% 
  summarise(across(height:sproud, ~ sum(!is.na(.))))

sm
## # A tibble: 24 × 6
## # Groups:   year [3]
##    year  treat height n_fruits flowering sproud
##    <fct> <fct>  <int>    <int>     <int>  <int>
##  1 2017  111        0       26        26      0
##  2 2017  121        0       26        26      0
##  3 2017  131        0       25        25      0
##  4 2017  141        0       26        26      0
##  5 2017  211        0       26        26      0
##  6 2017  221        0       26        26      0
##  7 2017  231        0       26        26      0
##  8 2017  241        0       27        27      0
##  9 2018  111        0        9        22      0
## 10 2018  121        0        9        23      0
## # ℹ 14 more rows

sm <- fru %>% 
  group_by(year, treat) %>% 
  summarise(across(weigth:diameter_average, ~ sum(!is.na(.))))

sm
## # A tibble: 8 × 7
## # Groups:   year [1]
##   year  treat weigth  long diameter_1 diameter_2 diameter_average
##   <fct> <fct>  <int> <int>      <int>      <int>            <int>
## 1 2023  111       30    30         30         30               30
## 2 2023  121       29    29         29         29               29
## 3 2023  131       30    30         30         30               30
## 4 2023  141       30    30         30         30               30
## 5 2023  211       30    30         30         30               30
## 6 2023  221       30    30         30         30               30
## 7 2023  231       30    30         30         30               30
## 8 2023  241       30    30         30         30               30

4 Objetivo General

Evaluar el efecto del injerto intermedio sobre el crecimiento y productividad del mango (Mangifera indica L.) var. ‘Kent’. en el Valle de San Lorenzo

5 Objetivo Específico 1

Evaluar el efecto de la relación patrón - injerto intermedio - injerto copa sobre las características agronómicas de altura de planta, número de frutos, porcentaje de floración y porcentaje de brotación de la var. ‘Kent’

5.1 Plant height

trait <- "height"

lmm <- paste({{trait}}, "~ 1 + (1|block) + stock*edge") %>% as.formula()

lmd <- paste({{trait}}, "~ block + stock*edge") %>% as.formula()

rmout <- rdt %>% 
  remove_outliers(formula = lmm
                  , drop_na = T, plot_diag = T)

rmout$diagplot


rmout$outliers
##     index block      stock  edge height      resi   res_MAD   rawp.BHStud
## 87    523     2      CHATO JULYE   2.00 -1.643199 -3.984232 0.00006769863
## 126   563     2 CHULUCANAS CHATO   1.90 -1.731293 -4.197830 0.00002694848
## 127   564     2 CHULUCANAS CHATO   1.85 -1.781293 -4.319064 0.00001566924
##              adjp       bholm out_flag
## 87  0.00006769863 0.013810521  OUTLIER
## 126 0.00002694848 0.005524438  OUTLIER
## 127 0.00001566924 0.003227863  OUTLIER

model <- rmout$data$clean %>% 
  aov(formula = lmd, .)

anova(model)
## Analysis of Variance Table
## 
## Response: height
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## block        2  3.140 1.57012  9.1832 0.000155 ***
## stock        1  1.273 1.27268  7.4435 0.006954 ** 
## edge         3  1.994 0.66450  3.8865 0.009977 ** 
## stock:edge   3  2.301 0.76689  4.4853 0.004549 ** 
## Residuals  193 32.999 0.17098                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

mc <- emmeans(model, ~ edge|stock) %>%
  cld(Letters = letters, reversed = F) %>%
  mutate(across(.group, trimws)) %>% 
  rename(group = ".group")

mc %>% kable()
edge stock emmean SE df lower.CL upper.CL group
2 CHULUCANAS CHATO 3.662963 0.0795773 193 3.506010 3.819916 a
1 CHATO CHATO 3.741984 0.0811085 193 3.582011 3.901957 a
4 JULYE CHATO 3.860337 0.0827154 193 3.697194 4.023479 a
3 IRWIN CHATO 3.915061 0.0811085 193 3.755088 4.075034 a
8 JULYE CHULUCANAS 3.467553 0.0844563 193 3.300977 3.634129 a
6 CHULUCANAS CHULUCANAS 3.497320 0.0811085 193 3.337347 3.657293 a
7 IRWIN CHULUCANAS 3.649114 0.0844563 193 3.482538 3.815690 ab
5 CHATO CHULUCANAS 3.925048 0.0827647 193 3.761808 4.088287 b

p1a <- mc %>% 
  plot_smr(x = "stock"
           , y = "emmean"
           , group = "edge"
           , sig = "group"
           , error = "SE"
           , color = T
           , ylab = "Plant height (m)"
           , ylimits = c(0, 6, 2)
           , 
           )

p1a

5.2 Sproud

trait <- "sproud"

lmm <- paste({{trait}}, "~ 1 + (1|block) + stock*edge") %>% as.formula()

lmd <- paste({{trait}}, "~ block + stock*edge") %>% as.formula()

rmout <- rdt %>% 
  remove_outliers(formula = lmm
                  , drop_na = T, plot_diag = T)

rmout$diagplot


rmout$outliers
##     index block      stock       edge sproud      resi   res_MAD  rawp.BHStud
## 8     441     1 CHULUCANAS CHULUCANAS      0 -63.26923 -4.267451 0.0000197719
## 126   567     2 CHULUCANAS      CHATO     10 -58.26923 -3.930206 0.0000848732
##             adjp       bholm out_flag
## 8   0.0000197719 0.003974153  OUTLIER
## 126 0.0000848732 0.016974639  OUTLIER

model <- rmout$data$clean %>% 
  aov(formula = lmd, .)

anova(model)
## Analysis of Variance Table
## 
## Response: sproud
##             Df Sum Sq Mean Sq F value     Pr(>F)    
## block        2    362   180.9  0.5152    0.59820    
## stock        1   6579  6578.9 18.7416 0.00002425 ***
## edge         3   2054   684.7  1.9506    0.12292    
## stock:edge   3   2713   904.2  2.5758    0.05521 .  
## Residuals  189  66345   351.0                       
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

mc <- emmeans(model, ~ edge|stock) %>%
  cld(Letters = letters, reversed = T) %>%
  mutate(across(.group, trimws)) %>% 
  rename(group = ".group")

mc %>% kable()
edge stock emmean SE df lower.CL upper.CL group
4 CHULUCANAS CHATO 65.17927 3.675132 189 57.92972 72.42882 a
3 CHATO CHATO 54.81356 3.747943 189 47.42039 62.20674 a
1 IRWIN CHATO 52.08471 3.750192 189 44.68710 59.48232 a
2 JULYE CHATO 51.91004 3.675132 189 44.66049 59.15959 a
7 JULYE CHULUCANAS 72.15745 3.826839 189 64.60864 79.70625 a
6 CHATO CHULUCANAS 70.57288 3.750234 189 63.17519 77.97057 a
5 CHULUCANAS CHULUCANAS 65.94241 3.750188 189 58.54481 73.34001 a
8 IRWIN CHULUCANAS 61.21227 3.910119 189 53.49919 68.92535 a

p1b <- mc %>% 
  plot_smr(x = "stock"
           , y = "emmean"
           , group = "edge"
           , sig = "group"
           , error = "SE"
           , color = T
           , ylab = "Sproud ('%')"
           , ylimits = c(0, 100, 20)
           )

p1b 

5.3 Number of fruits

trait <- "n_fruits"

lmm <- paste({{trait}}, "~ 1 + (1|block) + year + stock*edge + (1 + year|treat)") %>% as.formula()

lmd <- paste({{trait}}, "~ block + year + stock*edge") %>% as.formula()

rmout <- rdt %>% 
  remove_outliers(formula = lmm
                  , drop_na = T, plot_diag = T)

rmout$diagplot


rmout$outliers
##     index block year stock  edge treat n_fruits     resi  res_MAD   rawp.BHStud
## 442   604     3 2019 CHATO JULYE   231      539 287.2486 4.008689 0.00006105685
##              adjp      bholm out_flag
## 442 0.00006105685 0.02955151  OUTLIER

model <- rmout$data$clean %>% 
  aov(formula = lmd, .)

anova(model)
## Analysis of Variance Table
## 
## Response: n_fruits
##             Df  Sum Sq Mean Sq F value          Pr(>F)    
## block        2  261207  130604 21.6839 0.0000000009805 ***
## year         2  126248   63124 10.4804 0.0000352211768 ***
## stock        1    9326    9326  1.5483          0.2140    
## edge         3   22131    7377  1.2248          0.3001    
## stock:edge   3   15548    5183  0.8605          0.4615    
## Residuals  471 2836870    6023                            
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

mc <- emmeans(model, ~ year|edge|stock) %>%
  cld(Letters = letters, reversed = T) %>%
  mutate(across(.group, trimws)) %>% 
  rename(group = ".group")

mc %>% kable()
year edge stock emmean SE df lower.CL upper.CL group
1 2018 CHATO CHATO 197.2613 13.04649 471 171.6248 222.8978 a
3 2019 CHATO CHATO 194.2890 10.75243 471 173.1603 215.4177 a
2 2017 CHATO CHATO 162.5132 10.74838 471 141.3925 183.6339 b
13 2018 CHATO CHULUCANAS 205.1341 12.95537 471 179.6767 230.5916 a
15 2019 CHATO CHULUCANAS 202.1618 10.59847 471 181.3357 222.9880 a
14 2017 CHATO CHULUCANAS 170.3860 10.59352 471 149.5696 191.2024 b
4 2018 CHULUCANAS CHATO 206.5226 13.04648 471 180.8861 232.1591 a
6 2019 CHULUCANAS CHATO 203.5503 10.75303 471 182.4205 224.6802 a
5 2017 CHULUCANAS CHATO 171.7745 10.74778 471 150.6550 192.8940 b
16 2018 CHULUCANAS CHULUCANAS 233.6210 13.04648 471 207.9845 259.2575 a
18 2019 CHULUCANAS CHULUCANAS 230.6487 10.75303 471 209.5188 251.7785 a
17 2017 CHULUCANAS CHULUCANAS 198.8729 10.74778 471 177.7533 219.9924 b
7 2018 IRWIN CHATO 213.0482 13.04649 471 187.4117 238.6847 a
9 2019 IRWIN CHATO 210.0759 10.75243 471 188.9472 231.2046 a
8 2017 IRWIN CHATO 178.3001 10.74838 471 157.1794 199.4208 b
19 2018 IRWIN CHULUCANAS 209.5332 13.19501 471 183.6048 235.4616 a
21 2019 IRWIN CHULUCANAS 206.5609 11.07069 471 184.8068 228.3150 a
20 2017 IRWIN CHULUCANAS 174.7851 10.92618 471 153.3150 196.2552 b
10 2018 JULYE CHATO 207.7604 13.14195 471 181.9362 233.5845 a
12 2019 JULYE CHATO 204.7881 10.95974 471 183.2520 226.3241 a
11 2017 JULYE CHATO 173.0122 10.86339 471 151.6655 194.3589 b
22 2018 JULYE CHULUCANAS 211.3414 13.14337 471 185.5145 237.1683 a
24 2019 JULYE CHULUCANAS 208.3691 10.91480 471 186.9214 229.8169 a
23 2017 JULYE CHULUCANAS 176.5933 10.91078 471 155.1535 198.0331 b

p1c <- mc %>% 
  plot_smr(type = "bar"
           , x = "year"
           , y = "emmean"
           , group = "edge"
           , sig = "group"
           , error = "SE"
           , color = T
           , ylab = "N^{o} fruits"
           , ylimits = c(0, 320, 60)
           ) +
  facet_wrap(. ~ stock, nrow = 2)

p1c 

5.4 Flowering

trait <- "flowering"

lmm <- paste({{trait}}, "~ 1 + (1|block) + year + stock*edge + (1 + year|treat)") %>% as.formula()

lmd <- paste({{trait}}, "~ block + year + stock*edge") %>% as.formula()

rmout <- rdt %>% 
  remove_outliers(formula = lmm
                  , drop_na = T, plot_diag = T)

rmout$diagplot


rmout$outliers
##     index block year      stock       edge treat flowering      resi   res_MAD
## 28     31     1 2017      CHATO      IRWIN   211         5 -68.74456 -6.212394
## 32     35     1 2017      CHATO      IRWIN   211        25 -48.74456 -4.405009
## 33     36     1 2017      CHATO      IRWIN   211        25 -48.74456 -4.405009
## 64     67     1 2017      CHATO      CHATO   221        20 -56.92226 -5.144022
## 65     68     1 2017      CHATO      CHATO   221        30 -46.92226 -4.240330
## 67     70     1 2017      CHATO      CHATO   221        15 -61.92226 -5.595869
## 69     72     1 2017      CHATO      CHATO   221        15 -61.92226 -5.595869
## 127   131     2 2017 CHULUCANAS      CHATO   241        25 -58.44225 -5.281382
## 166   171     3 2017 CHULUCANAS CHULUCANAS   141        20 -58.28192 -5.266893
## 213   225     1 2018 CHULUCANAS CHULUCANAS   141        20 -57.68630 -5.213068
## 232   258     1 2018 CHULUCANAS      JULYE   131        10 -56.04249 -5.064518
## 243   273     1 2018 CHULUCANAS      IRWIN   111        15 -58.16121 -5.255986
## 250   284     1 2018      CHATO      CHATO   221        90  47.03144  4.250196
## 251   288     1 2018      CHATO      CHATO   221        97  54.03144  4.882781
## 254   292     2 2018      CHATO      IRWIN   211         5 -63.87075 -5.771952
## 289   328     2 2018      CHATO      CHATO   221         3 -43.83305 -3.961160
## 292   331     2 2018      CHATO      CHATO   221         0 -46.83305 -4.232268
## 298   338     2 2018 CHULUCANAS      IRWIN   111        10 -67.02571 -6.057063
## 299   339     2 2018 CHULUCANAS      IRWIN   111         5 -72.02571 -6.508909
## 311   352     2 2018 CHULUCANAS      JULYE   131        20 -49.90698 -4.510056
## 333   376     3 2018      CHATO      IRWIN   211        20 -44.36027 -4.008804
## 342   385     3 2018 CHULUCANAS CHULUCANAS   141         0 -77.04031 -6.962075
## 346   389     3 2018      CHATO      JULYE   231         0 -47.63760 -4.304974
## 347   390     3 2018      CHATO      JULYE   231         0 -47.63760 -4.304974
## 349   392     3 2018      CHATO      JULYE   231         2 -45.63760 -4.124236
## 375   421     3 2018 CHULUCANAS      JULYE   131        10 -55.39650 -5.006140
## 376   422     3 2018 CHULUCANAS      JULYE   131        20 -45.39650 -4.102448
## 454   505     2 2019      CHATO      IRWIN   211        30 -48.76953 -4.407266
## 526   581     3 2019      CHATO CHULUCANAS   121         7 -70.54614 -6.375202
##              rawp.BHStud                 adjp             bholm out_flag
## 28  0.000000000521833021 0.000000000521833021 0.000000305794150  OUTLIER
## 32  0.000010577939756562 0.000010577939756562 0.006040003600997  OUTLIER
## 33  0.000010577939756562 0.000010577939756562 0.006040003600997  OUTLIER
## 64  0.000000268917649482 0.000000268917649482 0.000155165483751  OUTLIER
## 65  0.000022319169655338 0.000022319169655338 0.012632650024921  OUTLIER
## 67  0.000000021952000884 0.000000021952000884 0.000012798016515  OUTLIER
## 69  0.000000021952000884 0.000000021952000884 0.000012798016515  OUTLIER
## 127 0.000000128212855666 0.000000128212855666 0.000074491669142  OUTLIER
## 166 0.000000138751758749 0.000000138751758749 0.000080476020075  OUTLIER
## 213 0.000000185743196379 0.000000185743196379 0.000107359567507  OUTLIER
## 232 0.000000409435427784 0.000000409435427784 0.000235834806404  OUTLIER
## 243 0.000000147233846226 0.000000147233846226 0.000085248396965  OUTLIER
## 250 0.000021358339519217 0.000021358339519217 0.012110178507396  OUTLIER
## 251 0.000001046000612570 0.000001046000612570 0.000600404351615  OUTLIER
## 254 0.000000007835861071 0.000000007835861071 0.000004576142866  OUTLIER
## 289 0.000074586480278027 0.000074586480278027 0.041843015435973  OUTLIER
## 292 0.000023134658141855 0.000023134658141855 0.013071081850148  OUTLIER
## 298 0.000000001386292858 0.000000001386292858 0.000000810981322  OUTLIER
## 299 0.000000000075698336 0.000000000075698336 0.000000044510622  OUTLIER
## 311 0.000006481038199890 0.000006481038199890 0.003713634888537  OUTLIER
## 333 0.000061026989556012 0.000061026989556012 0.034297168130479  OUTLIER
## 342 0.000000000003352874 0.000000000003352874 0.000000001974843  OUTLIER
## 346 0.000016700498484123 0.000016700498484123 0.009502583637466  OUTLIER
## 347 0.000016700498484123 0.000016700498484123 0.009502583637466  OUTLIER
## 349 0.000037196739853362 0.000037196739853362 0.020978961277296  OUTLIER
## 375 0.000000555322711371 0.000000555322711371 0.000319310559038  OUTLIER
## 376 0.000040880207851313 0.000040880207851313 0.023015557020289  OUTLIER
## 454 0.000010468378508710 0.000010468378508710 0.005987912506982  OUTLIER
## 526 0.000000000182721394 0.000000000182721394 0.000000107257458  OUTLIER

model <- rmout$data$clean %>% 
  aov(formula = lmd, .)

anova(model)
## Analysis of Variance Table
## 
## Response: flowering
##             Df Sum Sq Mean Sq F value            Pr(>F)    
## block        2   1978   988.9  3.3541           0.03566 *  
## year         2  16473  8236.6 27.9371 0.000000000002796 ***
## stock        1    804   803.6  2.7257           0.09932 .  
## edge         3   7276  2425.3  8.2263 0.000023116374039 ***
## stock:edge   3   1580   526.5  1.7859           0.14874    
## Residuals  548 161564   294.8                              
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

mc <- emmeans(model, ~ year|edge|stock) %>%
  cld(Letters = letters, reversed = T) %>%
  mutate(across(.group, trimws)) %>% 
  rename(group = ".group")

mc %>% kable()
year edge stock emmean SE df lower.CL upper.CL group
2 2019 CHATO CHATO 77.01196 2.305001 548 72.48424 81.53968 a
1 2017 CHATO CHATO 76.99530 2.345782 548 72.38748 81.60313 a
3 2018 CHATO CHATO 64.90407 2.425731 548 60.13920 69.66894 b
14 2019 CHATO CHULUCANAS 77.06506 2.198633 548 72.74628 81.38384 a
13 2017 CHATO CHULUCANAS 77.04841 2.208166 548 72.71090 81.38591 a
15 2018 CHATO CHULUCANAS 64.95718 2.269647 548 60.49890 69.41545 b
5 2019 CHULUCANAS CHATO 87.26768 2.233767 548 82.87988 91.65547 a
4 2017 CHULUCANAS CHATO 87.25102 2.226577 548 82.87735 91.62469 a
6 2018 CHULUCANAS CHATO 75.15979 2.289284 548 70.66294 79.65663 b
17 2019 CHULUCANAS CHULUCANAS 85.98612 2.243058 548 81.58008 90.39217 a
16 2017 CHULUCANAS CHULUCANAS 85.96947 2.254128 548 81.54168 90.39726 a
18 2018 CHULUCANAS CHULUCANAS 73.87824 2.329225 548 69.30293 78.45354 b
8 2019 IRWIN CHATO 81.00814 2.291841 548 76.50627 85.51001 a
7 2017 IRWIN CHATO 80.99148 2.311773 548 76.45046 85.53250 a
9 2018 IRWIN CHATO 68.90025 2.375187 548 64.23467 73.56584 b
20 2019 IRWIN CHULUCANAS 86.70568 2.312242 548 82.16374 91.24763 a
19 2017 IRWIN CHULUCANAS 86.68903 2.284768 548 82.20105 91.17700 a
21 2018 IRWIN CHULUCANAS 74.59780 2.389683 548 69.90374 79.29186 b
11 2019 JULYE CHATO 78.22556 2.271401 548 73.76384 82.68728 a
10 2017 JULYE CHATO 78.20890 2.263368 548 73.76296 82.65484 a
12 2018 JULYE CHATO 66.11767 2.367724 548 61.46675 70.76860 b
23 2019 JULYE CHULUCANAS 84.56367 2.325199 548 79.99628 89.13107 a
22 2017 JULYE CHULUCANAS 84.54702 2.315901 548 79.99789 89.09615 a
24 2018 JULYE CHULUCANAS 72.45579 2.429118 548 67.68427 77.22731 b

p1d <- mc %>% 
  plot_smr(type = "bar"
           , x = "year"
           , y = "emmean"
           , group = "edge"
           , sig = "group"
           , error = "SE"
           , color = T
           , ylab = "Flowering ('%')"
           , ylimits = c(0, 120, 20)
           ) +
  facet_wrap(. ~ stock, nrow = 2)

p1d

5.5 Figure 1

legend <- cowplot::get_plot_component(p1a, 'guide-box-top', return_all = TRUE)

p1 <- list(p1a + theme(legend.position="none")
           , p1b + theme(legend.position="none")
           , p1c + theme(legend.position="none")
           , p1d + theme(legend.position="none")
           ) %>% 
  plot_grid(plotlist = ., ncol = 2
            , labels = "auto"
            , rel_heights = c(1, 2)
            ) 

plot_grid(legend, p1, ncol = 1, align = 'v', rel_heights = c(0.05, 1)) %>% 
  ggsave2(plot = ., "files/Fig-1.jpg"
         , units = "cm"
         , width = 24
         , height = 16
         )

knitr::include_graphics("files/Fig-1.jpg")

5.6 Multivariate

mv <- rdt %>% 
  group_by(stock, edge) %>% 
  summarise(across(where(is.numeric), ~ mean(., na.rm = T))) %>%   
  unite("treat", stock:edge, sep = "-") %>% 
   rename(Treat = treat
         , Height = height
         , Fruits = n_fruits
         , Flowering = flowering
         , Sproud = sproud)
  
pca <- mv %>% 
  PCA(scale.unit = T, quali.sup = 1, graph = F) 

# summary

summary(pca, nbelements = Inf, nb.dec = 2)
## 
## Call:
## PCA(X = ., scale.unit = T, quali.sup = 1, graph = F) 
## 
## 
## Eigenvalues
##                       Dim.1  Dim.2  Dim.3  Dim.4
## Variance               2.49   0.93   0.37   0.21
## % of var.             62.27  23.26   9.22   5.26
## Cumulative % of var.  62.27  85.52  94.74 100.00
## 
## Individuals
##                          Dist   Dim.1   ctr  cos2   Dim.2   ctr  cos2   Dim.3
## 1                     |  2.28 | -1.99 19.84  0.76 | -0.72  7.04  0.10 | -0.43
## 2                     |  1.67 |  1.05  5.51  0.39 | -0.61  4.97  0.13 |  1.15
## 3                     |  2.18 | -1.90 18.19  0.76 |  0.89 10.71  0.17 |  0.36
## 4                     |  1.74 | -1.44 10.38  0.68 |  0.94 11.90  0.29 | -0.19
## 5                     |  1.52 | -0.49  1.23  0.11 | -1.05 14.72  0.47 | -0.41
## 6                     |  2.83 |  2.26 25.69  0.64 |  1.63 35.67  0.33 | -0.51
## 7                     |  1.00 |  0.68  2.34  0.46 | -0.03  0.01  0.00 |  0.67
## 8                     |  2.21 |  1.83 16.82  0.69 | -1.06 14.98  0.23 | -0.63
##                         ctr  cos2  
## 1                      6.36  0.04 |
## 2                     44.91  0.47 |
## 3                      4.40  0.03 |
## 4                      1.21  0.01 |
## 5                      5.78  0.07 |
## 6                      8.90  0.03 |
## 7                     15.00  0.44 |
## 8                     13.43  0.08 |
## 
## Variables
##                         Dim.1   ctr  cos2   Dim.2   ctr  cos2   Dim.3   ctr
## Height                | -0.91 33.26  0.83 |  0.07  0.53  0.00 |  0.25 17.31
## Fruits                |  0.57 13.26  0.33 |  0.78 66.19  0.62 | -0.16  6.81
## Flowering             |  0.86 29.71  0.74 |  0.05  0.23  0.00 |  0.51 69.79
## Sproud                |  0.77 23.77  0.59 | -0.55 33.05  0.31 | -0.15  6.10
##                        cos2  
## Height                 0.06 |
## Fruits                 0.03 |
## Flowering              0.26 |
## Sproud                 0.02 |
## 
## Supplementary categories
##                          Dist   Dim.1  cos2 v.test   Dim.2  cos2 v.test   Dim.3
## CHATO-CHATO           |  2.28 | -1.99  0.76  -1.26 | -0.72  0.10  -0.75 | -0.43
## CHATO-CHULUCANAS      |  1.67 |  1.05  0.39   0.66 | -0.61  0.13  -0.63 |  1.15
## CHATO-IRWIN           |  2.18 | -1.90  0.76  -1.21 |  0.89  0.17   0.93 |  0.36
## CHATO-JULYE           |  1.74 | -1.44  0.68  -0.91 |  0.94  0.29   0.98 | -0.19
## CHULUCANAS-CHATO      |  1.52 | -0.49  0.11  -0.31 | -1.05  0.47  -1.09 | -0.41
## CHULUCANAS-CHULUCANAS |  2.83 |  2.26  0.64   1.43 |  1.63  0.33   1.69 | -0.51
## CHULUCANAS-IRWIN      |  1.00 |  0.68  0.46   0.43 | -0.03  0.00  -0.03 |  0.67
## CHULUCANAS-JULYE      |  2.21 |  1.83  0.69   1.16 | -1.06  0.23  -1.09 | -0.63
##                        cos2 v.test  
## CHATO-CHATO            0.04  -0.71 |
## CHATO-CHULUCANAS       0.47   1.90 |
## CHATO-IRWIN            0.03   0.59 |
## CHATO-JULYE            0.01  -0.31 |
## CHULUCANAS-CHATO       0.07  -0.68 |
## CHULUCANAS-CHULUCANAS  0.03  -0.84 |
## CHULUCANAS-IRWIN       0.44   1.10 |
## CHULUCANAS-JULYE       0.08  -1.04 |

f2a <- plot.PCA(x = pca, choix = "var"
                , cex=0.8
                )

f2b <- plot.PCA(x = pca, choix = "ind"
                , habillage = 1
                , invisible = c("ind")
                , cex=0.8
                ) 

5.7 Figure 2

list(f2a, f2b) %>% 
  plot_grid(plotlist = ., ncol = 2, nrow = 1
            , labels = "auto"
            , rel_widths = c(1, 1.5)
            ) %>% 
  ggsave2(plot = ., "files/Fig-2.jpg", units = "cm"
          , width = 25, height = 10
          ) 

knitr::include_graphics("files/Fig-2.jpg")

6 Correlation

cor <- mv %>% 
  dplyr::select(where(is.numeric)) %>% 
  cor(., method ="pearson")

cor %>% kable()
Height Fruits Flowering Sproud
Height 1.0000000 -0.4533531 -0.6592298 -0.6876860
Fruits -0.4533531 1.0000000 0.4460404 0.0782485
Flowering -0.6592298 0.4460404 1.0000000 0.5535210
Sproud -0.6876860 0.0782485 0.5535210 1.0000000

sf1 <- ~ {
  
  corrplot::corrplot(cor, method = "number", type = "upper")
}

list(sf1) %>% 
  plot_grid(plotlist = .) %>% 
  ggsave2(plot = ., "files/FigS1.jpg", units = "cm"
         , width = 15, height = 15)

knitr::include_graphics("files/FigS1.jpg")

7 Objetivo Específico 2

Evaluar el efecto de la relación patrón - injerto intermedio - injerto copa que sobre los parámetros que determinan la calidad del fruto (peso, longitud y diámetro) de la var. ‘Kent’

8 Fruit Weigth

trait <- "weigth"

lmm <- paste({{trait}}, "~ 1 + (1|block) + stock*edge") %>% as.formula()

lmd <- paste({{trait}}, "~ block + stock*edge") %>% as.formula()

rmout <- fru %>% 
  remove_outliers(formula = lmm
                  , drop_na = T, plot_diag = T)

rmout$diagplot


rmout$outliers
##  [1] index       block       stock       edge        weigth      resi       
##  [7] res_MAD     rawp.BHStud adjp        bholm       out_flag   
## <0 rows> (o 0- extensión row.names)

model <- rmout$data$clean %>% 
  aov(formula = lmd, .)

anova(model)
## Analysis of Variance Table
## 
## Response: weigth
##             Df  Sum Sq Mean Sq F value  Pr(>F)  
## block        2   73498   36749  4.6207 0.01078 *
## stock        1    1816    1816  0.2284 0.63320  
## edge         3    4318    1439  0.1810 0.90923  
## stock:edge   3   37870   12623  1.5872 0.19323  
## Residuals  229 1821257    7953                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

mc <- emmeans(model, ~ edge|stock) %>%
  cld(Letters = letters, reversed = T) %>%
  mutate(across(.group, trimws)) %>% 
  rename(group = ".group")

mc %>% kable()
edge stock emmean SE df lower.CL upper.CL group
1 IRWIN CHATO 482.0333 16.28198 229 449.9517 514.1150 a
2 JULYE CHATO 465.9667 16.28198 229 433.8850 498.0483 a
4 CHULUCANAS CHATO 462.3661 16.56272 229 429.7313 495.0009 a
3 CHATO CHATO 452.5333 16.28198 229 420.4517 484.6150 a
7 CHATO CHULUCANAS 484.9667 16.28198 229 452.8850 517.0483 a
6 JULYE CHULUCANAS 484.7000 16.28198 229 452.6184 516.7816 a
8 CHULUCANAS CHULUCANAS 468.1667 16.28198 229 436.0850 500.2483 a
5 IRWIN CHULUCANAS 447.2333 16.28198 229 415.1517 479.3150 a

p2a <- mc %>% 
  plot_smr(x = "stock"
           , y = "emmean"
           , group = "edge"
           , sig = "group"
           , error = "SE"
           , color = T
           , ylab = "Fruit Weigth (g)"
           , ylimits = c(0, 600, 100)
           , 
           )

p2a

9 Descriptive

sts <- Summarize(weigth  ~ stock*edge, data = fru, digits = 2, na.rm = TRUE)

tb1a <- sts%>% 
  merge(., mc) %>% 
  mutate(Variable = "Fruit Weigth") %>% 
  dplyr::select(Variable, stock, edge, mean, sd, min, max, group) %>% 
  rename(Stock = stock,
         Edge = edge,
         Sig = group)

10 Fruit length

trait <- "long"

lmm <- paste({{trait}}, "~ 1 + (1|block) + stock*edge") %>% as.formula()

lmd <- paste({{trait}}, "~ block + stock*edge") %>% as.formula()

rmout <- fru %>% 
  remove_outliers(formula = lmm
                  , drop_na = T, plot_diag = T)

rmout$diagplot


rmout$outliers
##  [1] index       block       stock       edge        long        resi       
##  [7] res_MAD     rawp.BHStud adjp        bholm       out_flag   
## <0 rows> (o 0- extensión row.names)

model <- rmout$data$clean %>% 
  aov(formula = lmd, .)

anova(model)
## Analysis of Variance Table
## 
## Response: long
##             Df  Sum Sq Mean Sq F value   Pr(>F)   
## block        2   681.4  340.70  5.9312 0.003081 **
## stock        1    31.2   31.16  0.5424 0.462192   
## edge         3   270.1   90.02  1.5672 0.198107   
## stock:edge   3    39.5   13.15  0.2289 0.876184   
## Residuals  229 13154.4   57.44                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

mc <- emmeans(model, ~ edge|stock) %>%
  cld(Letters = letters, reversed = T) %>%
  mutate(across(.group, trimws)) %>% 
  rename(group = ".group")

mc %>% kable()
edge stock emmean SE df lower.CL upper.CL group
1 JULYE CHATO 107.6667 1.383746 229 104.9402 110.3932 a
3 CHULUCANAS CHATO 106.3048 1.407606 229 103.5313 109.0783 a
2 IRWIN CHATO 106.0667 1.383746 229 103.3402 108.7932 a
4 CHATO CHATO 105.9667 1.383746 229 103.2402 108.6932 a
6 JULYE CHULUCANAS 109.7333 1.383746 229 107.0068 112.4598 a
7 CHATO CHULUCANAS 106.5333 1.383746 229 103.8068 109.2598 a
5 IRWIN CHULUCANAS 106.4333 1.383746 229 103.7068 109.1598 a
8 CHULUCANAS CHULUCANAS 106.2000 1.383746 229 103.4735 108.9265 a

p2b <- mc %>% 
  plot_smr(x = "stock"
           , y = "emmean"
           , group = "edge"
           , sig = "group"
           , error = "SE"
           , color = T
           , ylab = "Fruit length (cm)"
           , ylimits = c(0, 120, 20)
           , 
           )

p2b

11 Descriptive

sts <- Summarize(long  ~ stock*edge, data = fru, digits = 2, na.rm = TRUE)

tb1b <- sts%>% 
  merge(., mc) %>% 
  mutate(Variable = "Fruit length") %>% 
  dplyr::select(Variable, stock, edge, mean, sd, min, max, group) %>% 
  rename(Stock = stock,
         Edge = edge,
         Sig = group)

12 Fruit diameter

trait <- "diameter_average"

lmm <- paste({{trait}}, "~ 1 + (1|block) + stock*edge") %>% as.formula()

lmd <- paste({{trait}}, "~ block + stock*edge") %>% as.formula()

rmout <- fru %>% 
  remove_outliers(formula = lmm
                  , drop_na = T, plot_diag = T)

rmout$diagplot


rmout$outliers
##  [1] index            block            stock            edge            
##  [5] diameter_average resi             res_MAD          rawp.BHStud     
##  [9] adjp             bholm            out_flag        
## <0 rows> (o 0- extensión row.names)

model <- rmout$data$clean %>% 
  aov(formula = lmd, .)

anova(model)
## Analysis of Variance Table
## 
## Response: diameter_average
##             Df Sum Sq Mean Sq F value   Pr(>F)   
## block        2  248.1 124.033  5.0489 0.007149 **
## stock        1    1.2   1.178  0.0480 0.826864   
## edge         3    6.1   2.027  0.0825 0.969504   
## stock:edge   3  234.3  78.109  3.1796 0.024804 * 
## Residuals  229 5625.6  24.566                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

mc <- emmeans(model, ~ edge|stock) %>%
  cld(Letters = letters, reversed = T) %>%
  mutate(across(.group, trimws)) %>% 
  rename(group = ".group")

mc %>% kable()
edge stock emmean SE df lower.CL upper.CL group
1 IRWIN CHATO 87.63333 0.9049151 229 85.85031 89.41636 a
2 JULYE CHATO 86.23333 0.9049151 229 84.45031 88.01636 a
4 CHULUCANAS CHATO 86.07080 0.9205182 229 84.25703 87.88457 a
3 CHATO CHATO 85.23333 0.9049151 229 83.45031 87.01636 a
7 CHATO CHULUCANAS 87.70000 0.9049151 229 85.91698 89.48302 a
6 JULYE CHULUCANAS 86.30000 0.9049151 229 84.51698 88.08302 a
8 CHULUCANAS CHULUCANAS 86.08333 0.9049151 229 84.30031 87.86636 a
5 IRWIN CHULUCANAS 84.53333 0.9049151 229 82.75031 86.31636 a

p2c <- mc %>% 
  plot_smr(x = "stock"
           , y = "emmean"
           , group = "edge"
           , sig = "group"
           , error = "SE"
           , color = T
           , ylab = "Fruit diameter (cm)"
           , ylimits = c(0, 100, 20)
           , 
           )

p2c

13 Descriptive

sts <- Summarize(diameter_average ~ stock*edge, data = fru, digits = 2, na.rm = TRUE)

tb1c <- sts%>% 
  merge(., mc) %>% 
  mutate(Variable = "Fruit diameter") %>% 
  dplyr::select(Variable, stock, edge, mean, sd, min, max, group) %>% 
  rename(Stock = stock,
         Edge = edge,
         Sig = group)

14 Table 1

tb1 <- bind_rows(tb1a, tb1b, tb1c)

tb1 %>% kable()
Variable Stock Edge mean sd min max Sig
Fruit Weigth CHATO CHATO 452.53 79.92 305.0 639.0 a
Fruit Weigth CHATO CHULUCANAS 462.34 69.82 340.0 620.0 a
Fruit Weigth CHATO IRWIN 482.03 87.30 350.0 700.0 a
Fruit Weigth CHATO JULYE 465.97 92.07 300.0 645.0 a
Fruit Weigth CHULUCANAS CHATO 484.97 101.98 316.0 765.0 a
Fruit Weigth CHULUCANAS CHULUCANAS 468.17 118.73 230.0 665.0 a
Fruit Weigth CHULUCANAS IRWIN 447.23 70.09 310.0 605.0 a
Fruit Weigth CHULUCANAS JULYE 484.70 93.46 367.0 717.0 a
Fruit length CHATO CHATO 105.97 6.78 93.0 120.0 a
Fruit length CHATO CHULUCANAS 106.28 6.80 94.0 119.0 a
Fruit length CHATO IRWIN 106.07 6.47 95.0 124.0 a
Fruit length CHATO JULYE 107.67 7.54 91.0 120.0 a
Fruit length CHULUCANAS CHATO 106.53 7.21 95.0 123.0 a
Fruit length CHULUCANAS CHULUCANAS 106.20 10.87 86.0 126.0 a
Fruit length CHULUCANAS IRWIN 106.43 7.28 92.0 122.0 a
Fruit length CHULUCANAS JULYE 109.73 8.03 98.0 129.0 a
Fruit diameter CHATO CHATO 85.23 4.72 76.0 97.5 a
Fruit diameter CHATO CHULUCANAS 86.09 3.61 78.5 93.5 a
Fruit diameter CHATO IRWIN 87.63 5.07 79.5 100.0 a
Fruit diameter CHATO JULYE 86.23 5.56 75.5 97.5 a
Fruit diameter CHULUCANAS CHATO 87.70 5.40 78.0 100.5 a
Fruit diameter CHULUCANAS CHULUCANAS 86.08 6.61 69.5 99.0 a
Fruit diameter CHULUCANAS IRWIN 84.53 4.03 77.5 92.5 a
Fruit diameter CHULUCANAS JULYE 86.30 4.68 79.5 97.0 a

# tb1 %>% 
#   write_sheet(ss = gs, sheet = "tb1")

14.1 Multivariate

mv <- fru %>% 
  group_by(stock, edge) %>% 
  summarise(across(where(is.numeric), ~ mean(., na.rm = T))) %>%
  dplyr::select(!c(diameter_1, diameter_2, n_fruits)) %>%
  unite("treat", stock:edge, sep = "-") %>% 
   rename(Treat = treat
         , Weight = weigth
         , Length = long
         , Diameter = diameter_average)
  
pca <- mv %>% 
  PCA(scale.unit = T, quali.sup = 1, graph = F) 

# summary

summary(pca, nbelements = Inf, nb.dec = 2)
## 
## Call:
## PCA(X = ., scale.unit = T, quali.sup = 1, graph = F) 
## 
## 
## Eigenvalues
##                       Dim.1  Dim.2  Dim.3
## Variance               2.01   0.97   0.02
## % of var.             66.97  32.23   0.79
## Cumulative % of var.  66.97  99.21 100.00
## 
## Individuals
##                          Dist   Dim.1   ctr  cos2   Dim.2   ctr  cos2   Dim.3
## 1                     |  1.71 | -1.70 17.91  0.98 | -0.22  0.60  0.02 | -0.01
## 2                     |  0.68 | -0.56  1.99  0.69 | -0.37  1.76  0.29 |  0.09
## 3                     |  1.85 |  1.38 11.78  0.56 | -1.23 19.60  0.44 |  0.00
## 4                     |  0.70 |  0.09  0.05  0.02 |  0.61  4.83  0.76 |  0.33
## 5                     |  1.93 |  1.70 17.92  0.78 | -0.91 10.79  0.22 |  0.00
## 6                     |  0.57 | -0.29  0.51  0.25 | -0.44  2.46  0.58 | -0.23
## 7                     |  2.33 | -2.29 32.54  0.96 |  0.45  2.60  0.04 | -0.06
## 8                     |  2.69 |  1.67 17.30  0.38 |  2.11 57.36  0.61 | -0.12
##                         ctr  cos2  
## 1                      0.03  0.00 |
## 2                      4.74  0.02 |
## 3                      0.00  0.00 |
## 4                     57.67  0.22 |
## 5                      0.00  0.00 |
## 6                     28.15  0.16 |
## 7                      2.18  0.00 |
## 8                      7.23  0.00 |
## 
## Variables
##                         Dim.1   ctr  cos2   Dim.2   ctr  cos2   Dim.3   ctr
## Weight                |  0.99 49.14  0.99 | -0.03  0.07  0.00 | -0.11 50.79
## Length                |  0.46 10.55  0.21 |  0.89 81.29  0.79 |  0.04  8.16
## Diameter              |  0.90 40.32  0.81 | -0.42 18.64  0.18 |  0.10 41.05
##                        cos2  
## Weight                 0.01 |
## Length                 0.00 |
## Diameter               0.01 |
## 
## Supplementary categories
##                          Dist   Dim.1  cos2 v.test   Dim.2  cos2 v.test   Dim.3
## CHATO-CHATO           |  1.71 | -1.70  0.98  -1.20 | -0.22  0.02  -0.22 | -0.01
## CHATO-CHULUCANAS      |  0.68 | -0.56  0.69  -0.40 | -0.37  0.29  -0.38 |  0.09
## CHATO-IRWIN           |  1.85 |  1.38  0.56   0.97 | -1.23  0.44  -1.25 |  0.00
## CHATO-JULYE           |  0.70 |  0.09  0.02   0.07 |  0.61  0.76   0.62 |  0.33
## CHULUCANAS-CHATO      |  1.93 |  1.70  0.78   1.20 | -0.91  0.22  -0.93 |  0.00
## CHULUCANAS-CHULUCANAS |  0.57 | -0.29  0.25  -0.20 | -0.44  0.58  -0.44 | -0.23
## CHULUCANAS-IRWIN      |  2.33 | -2.29  0.96  -1.61 |  0.45  0.04   0.46 | -0.06
## CHULUCANAS-JULYE      |  2.69 |  1.67  0.38   1.18 |  2.11  0.61   2.14 | -0.12
##                        cos2 v.test  
## CHATO-CHATO            0.00  -0.05 |
## CHATO-CHULUCANAS       0.02   0.62 |
## CHATO-IRWIN            0.00  -0.02 |
## CHATO-JULYE            0.22   2.15 |
## CHULUCANAS-CHATO       0.00  -0.02 |
## CHULUCANAS-CHULUCANAS  0.16  -1.50 |
## CHULUCANAS-IRWIN       0.00  -0.42 |
## CHULUCANAS-JULYE       0.00  -0.76 |

f3a <- plot.PCA(x = pca, choix = "var"
                , cex=0.8
                )

f3b <- plot.PCA(x = pca, choix = "ind"
                , habillage = 1
                , invisible = c("ind")
                , cex=0.8
                ) 
          

15 Figure 3

list(f3a, f3b) %>% 
  plot_grid(plotlist = ., ncol = 2, nrow = 1
            , labels = "auto"
            , rel_widths = c(1, 1.5)
            ) %>% 
  ggsave2(plot = ., "files/Fig-3.jpg", units = "cm"
          , width = 25, height = 10
          ) 

knitr::include_graphics("files/Fig-3.jpg")

16 Correlation

cor <- mv %>% 
  dplyr::select(where(is.numeric)) %>% 
  cor(., method ="pearson")

cor %>% kable()
Weight Length Diameter
Weight 1.0000000 0.4292938 0.8945608
Length 0.4292938 1.0000000 0.0423165
Diameter 0.8945608 0.0423165 1.0000000

sf2 <- ~ {
  
  corrplot::corrplot(cor, method = "number", type = "upper")
}

list(sf2) %>% 
  plot_grid(plotlist = .) %>% 
  ggsave2(plot = ., "files/FigS2.jpg", units = "cm"
         , width = 15, height = 15)

knitr::include_graphics("files/FigS2.jpg")